Have you tried changing the ignition switch?
if the starter is not spinning and the truck motor is running
To check the crankshaft position sensor on a 1987 - 1990 Chevy Celebrity: 1. Set the parking brake. Raise the car as necessary and put on stands so that you can get to the underside of the engine at the ignition module. 2. Locate the wire from the crankshaft position sensor to the ignition module. It should have a yellow and a purple wire. 3, Measure the resistance between the two wires. It should be between 900 and 1200 ohms. If it does not read that amount it is probably faulty OR you have a problem in the wiring. There can be a problem with this though. If the sensor is good cold it can still be faulty when it gets hot. The ignition module itself can also have the same problem. If you put on a known good sensor and the problem goes away, then the sensor was probably your engines problem. WE have a car that would run fine until it got hot. It would then quit running and not start again till it got cold. We replaced both the crankshaft position sensor and the ignition module and the problem WE were having went away.
Your problem is the ignition switch. Either the switch is bad or if the switch is mounted on the steering column, it may be out of position causing it to only energize the ignition circuit but not energizing the accessory circuits.
It sounds like your dizzy cap isn't lined right which causes the engine to stay running after the ignition has been switched off. i had the same problem with my fiesta
Check the ignition coils and the crankshaft position sensor. One of these could be failing as they heat up.
Replace the ignition module and see if that don't fix your problem.
If the starter is whining while the engine is running at an idle you have a problem with the ignition switch or the starter solenoid is stuck. The starter should not be engaged while the engine is running unless you are holding the key over on the start position.
replace the balist resister replace the balist resister
I had the same problem with mine my answer was a new ignition running me 240 buck that's with a used ignition plus labour new ignition is 250 bucks my mechanic is 84.00 per hour
If it starts but doesn't stay running after you release the key from the start position, it means your ignition switch is bad. Not a huge expense.
Position 2 on a Mercedes-Benz ignition switch typically refers to the "On" position, where electrical systems are activated but the engine is not running. In this position, functions such as the dashboard displays, radio, and other electronic components can be accessed. It is often used for pre-start checks and enabling accessories before starting the vehicle.
There are a few tests that could pinpoint your trouble. My guess is that your crankshaft position sensor is on the fritz (which will cause the vehicle's ignition system to not produce any spark when it is malfunctioning). If you have the v-6 engine, the crankshaft position sensor will be on the back of the block with a 2-wire harness plugged into it. This wire harness will run to the front of the engine and plug in to the ignition module. Don't forget to check the integrity of the entire length of wire running between the crank sensor and the ignition module. This is a common problem area on your type of vehicle. Good luck, and get ready to get greasy, and swear a lot.